Person Search Utilizing Entity Expansion

ABSTRACT

Presented are systems and methods, as well as computer-readable media, for responding to a search query for content (or references to content) relating to a person identified in the search query. According to various embodiments, upon receiving a search query from a computer user, related entity data is obtained from at least one related entity source for the identified person. Related entity data comprises at least one of a related entity (or entities) or a category associated with the identified person. An expanded search query is generated according to the search query from the computer user and the related entity data. Search results are obtained according to the expanded search query and a search results presentation is generated and returned to the computer user in response to the search query.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is related to U.S. patent application Ser. No.______, filed on ______, entitled “Entity Expansion to Identify RelatedEntities” [attorney docket no. 338971.01]; and U.S. patent applicationSer. No. 13/913,835, filed on Jun. 10, 2013, entitled “Improved NewsResults through Query Expansion”.

BACKGROUND

Locating content regarding a specific person on the Internet can bechallenging. There are many factors that make “people search” difficult:most names are not unique. In any given area there may be severalindividuals with the same name. Additionally, the web presence of anygiven person may be low such that search results for that person will bedominated by results referring to a better known individual with thesame name.

SUMMARY

The following Summary is provided to introduce a selection of conceptsin a simplified form that are further described below in the DetailedDescription. The Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

According to aspects of the disclosed subject matter, a search query isreceived from a computer user, the search query identifying a person forwhich content (or references to content) is sought. Upon receiving thesearch query from a computer user, related entity data is obtained fromat least one related entity source for the identified person. Relatedentity data comprises at least one of a related entity (or entities) ora category associated with the identified person. An expanded searchquery is generated according to the search query from the computer userand the related entity data. Search results are obtained according tothe expanded search query and a search results presentation is generatedand returned to the computer user in response to the search query.

According to further aspects of the disclosed subject matter, acomputer-readable medium bearing computer-executable instructions ispresented. When executed on a computing system comprising at least aprocessor executing the instructions retrieved from the medium, thecomputing system is configured to carry out a method for responding to asearch query from a user. More particularly, in response to receiving asearch query from a computer user, where the search query identifies aperson for which content (or references to content) is sought, relatedentity data is obtained from at least one related entity source for theidentified person. An expanded search query is generated according tothe search query from the computer user and the related entity data.Search results are obtained according to the expanded search query and asearch results presentation is generated and returned to the computeruser in response to the search query.

According still further aspects of the disclosed subject matter, acomputer system for responding to a search query for content related toa person is presented. The computer system comprises a processor and amemory, wherein the processor executes instructions stored in the memoryas part of or in conjunction with additional components to respond to asearch query for content related to a person. These additionalcomponents include (by way of illustration and not limitation) a querytopic identification component, a related entity retrieval component, anexpanded query generator, a search results retrieval component, and asearch results presentation generator. In operation, the query topicidentification component configured to determine the identity of aperson from the search query for which related content is sought. Therelated entity retrieval component obtains related entity datacorresponding to the identified person from a related entity source.After obtaining related entity data, the expanded query generatorgenerates an expanded query from the search query for content related tothe identified person and from the related entity data. According tovarious embodiments, the related entity data comprises at least one of arelated entity or a category associated with the identified person ofthe search query. The search results retrieval component obtains searchresults from a content store according to the expanded search query.Thereafter, the search results presentation generator generates a searchresults presentation according to the search results referencing contentcorresponding to the identified person and returns the search resultspresentation to the computer user.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of thedisclosed subject matter will become more readily appreciated as theyare better understood by reference to the following description whentaken in conjunction with the following drawings, wherein:

FIG. 1 is a block diagram of a networked environment suitable forimplementing aspects of the disclosed subject matter;

FIG. 2 is a flow diagram illustrating an exemplary routine for providingimproved results in response to a search query regarding content for aparticular person through query expansion;

FIG. 3 is a flow diagram illustrating an exemplary routine forgenerating an expanded search query according to aspects of thedisclosed subject matter;

FIGS. 4 and 5 illustrate elements of expanded search queries; and

FIG. 6 is a block diagram illustrating exemplary components of a searchengine configured to provide improved results in response to a searchquery from a computer user.

DETAILED DESCRIPTION

For purposed of clarity, the use of the term “exemplary” in thisdocument should be interpreted as serving as an illustration or exampleof something, and it should not be interpreted as an ideal and/or aleading illustration of that thing. An entity corresponds to an abstractor tangible thing that includes, by way of illustration and notlimitation: person, a place, a group, a concept, an activity, and thelike.

Turning to FIG. 1, FIG. 1 is a block diagram illustrating an exemplarynetworked environment 100 suitable for implementing aspects of thedisclosed subject matter, particularly in regard to providing improvedsearch results to a computer user in response to a search queryregarding a person. The exemplary networked environment 100 includes oneor more user computers, such as user computers 102-106, connected to anetwork 108, such as the Internet, a wide area network or WAN, and thelike. User computers include, by way of illustration and not limitation:desktop computers (such as desktop computer 104); laptop computers (suchas laptop computer 102); tablet computers (such as tablet computer 106);mobile devices (not shown); game consoles (not shown); personal digitalassistants (not shown); and the like. User computers may be configuredto connect to the network 108 by way of wired and/or wirelessconnections. For purposes of illustration only, the exemplary networkedenvironment 100 illustrates the network 108 as being located between theuser computers 102-106 and the search engine 110, and again between thesearch engine 110 and the network sites 112-116. This illustration,however, should not be construed as suggesting that these are separatenetworks.

Also connected to the network 108 are various networked sites, includingnetwork sites 110-116. By way of example and not limitation, thenetworked sites connected to the network 108 include a search engine 110configured to respond to search queries from computer users, newssources 112 and 114 which host various news articles and content, asocial networking site 116, and the like. A computer user, such ascomputer user 101, may navigate via a user computer, such as usercomputer 102, to these and other networked sites to access content,including news content.

According to aspects of the disclosed subject matter, the search engine110 is configured to provide search results (typically in the form ofreferences to content available on the network 108) in response to asearch query from a computer user. In particular, in response toreceiving a search query from a computer user for information regardinga particular person, the search engine 110 identifies content related tothe identified person according to information in its content store,generates a search results presentation based on at least some of theidentified content, and provides the search results presentation to thecomputer user.

FIG. 1 also illustratively includes a social network site 116 andvarious news sources, including news sites 112-114. As will be readilyappreciated, a social network site 116 is an online site/service thatprovides a platform in which a computer user can establish a profiledescribing various aspects of the user, build relationships and socialnetworks with other computer users, groups, and the like. In a socialnetwork site 116, a computer user can establish or indicate variousinterests, activities, and backgrounds with those in his/her socialnetwork. Indeed, those skilled in the art will appreciate that acomputer user is often able to indicate a preference or an interest in aparticular entity on a social networking service as might be hosted bysocial networking site 116, whether that entity is a person, a place, agroup, a concept, an activity, and the like. Though only one socialnetwork site 116 is included in the illustrative network environment100, this is merely illustrative and should not be viewed as limitingupon the disclosed subject matter. In an actual embodiment, there may beany number of social network sites connected to the network 108.

As is known in the art, the search engine 110 is configured tocommunicate (directly or indirectly through services calls and/or webcrawlers) with multiple content sources, including news sites 112 and114, social networking site 116, and other sites such as blogs andregistries (not shown) to obtain information regarding the content thatis available at each network site. Information regarding availablecontent may also be pushed to the search engine from various servicesand/or networking sites. This information is stored (typically asreferences to the content) in a content store such that the searchengine can obtain content from this content store in order to respond toa search query from a computer user, such as computer user 101. Thesearch engine 110 may also obtain information regarding any givenindividual from search query logs, network browsing histories, purchasehistories, and the like. This information and the content obtained fromthe various network sites is typically indexed according to key wordsand phrases such that the information may be quickly identified andaccessed. Further, in addition to information that is stored in thesearch engine's content store, a search engine 110 may also beconfigured to obtain information from other network sites whenresponding to a search query. For example, according to aspects of thedisclosed subject matter, when responding to a search query, the searchengine 110 may obtain data from one or more social networking sites,such as social network site 116, as relevant information to return tothe requesting computer user and/or as information to assist the searchengine in identifying relevant information to return to the requestingcomputer user.

To further illustrate aspects of the disclosed subject matter, referenceis now made to FIG. 2. FIG. 2 is a flow diagram of an exemplary routinefor providing improved results in response to a search query regardingcontent corresponding to a particular person through query expansion.Beginning at block 202, the search engine 110 receives a search queryfrom a computer user, such as computer user 101, the search queryrequesting content corresponding to a particular person.

As will be readily appreciated, a search query is typically (though notexclusively) a text string. For example, a search query for contentrelating to a person may be “Bruce Wayne.” Accordingly, as there may beseveral individuals who have the same name, at block 204, the searchengine attempts to uniquely identify the person who is the subjectmatter of the search query. According to aspects of the disclosedsubject matter, the search engine attempts to uniquely identify theperson for which content is requested according to at least generalinformation and specific information relating to the requesting computeruser. The general information includes, by way of illustration and notlimitation: popularity of search queries corresponding to a person withthe name identified in the search query; trending popularity of a personwith the name identified in the search query; other terms and/or phrasesin the search query (e.g., “Bruce Wayne Seattle” or “Bruce WayneMicrosoft”); an image representative of the person; and the like.Specific information relating to the requesting computer user mayinclude, by way of illustration and not limitation: current location;prior search query history; current and former workplaces; current andformer educational institutions that were attended; social networks;preferences (both explicitly and implicitly identified); general graphconnectivity between the requesting computer user and potential subjectsof a search query as well as the number of mutual friends; physicaldistance between the requesting user and the potential subjects;location of friends; former locations; and the like. Typically, thoughnot exclusively, the search engine 110 may, at least internally,associate a globally unique identifier to the person who is the subjectmatter of the search query. Moreover, once the person who is the subjectmatter of the search query is identifier, the search engine 110 may usethe associated globally unique identifier in obtaining, or reranking,search results in response to the search query.

Of course, the order presented in blocks 202 and 204 should be viewed asillustrative and not limiting upon the disclosed subject matter. Undervarious conditions, the identity of a person for whom content is soughtmay be known prior to submitting/receiving a search request. Forexample, auto-suggest search recommendations may indicate a particularperson as one of the auto-suggestions and, typically, that suggestedperson's unique identity is known. Alternatively, another service maysubmit a search request for a person that uniquely identities the personto the search service such that the identity of the person needs not bedetermined. Accordingly, while one embodiment is disclosed in regard toblocks 202 and 204 of FIG. 2, this is illustrative of one embodiment,and is not limiting upon the disclosed subject matter.

In regard to the search request identifying a person for whom content issought, there may also be times in which the name of that person is notknown but some information is provided that may lead to uniquelyidentifying that person. For example, the computer user may not know thename of the general manager of the Seattle Seahawks, but in submittingthe text “general manager of the Seattle Seahawks” the computer useroften sufficiently identifies the person for whom content is soughtthat, in block 204, the identity of the person can be determined.

At block 206, after having identified the person who is the subjectmatter of the search query, the search engine 110 obtains related entitydata corresponding to the identified person. According to aspects of thedisclosed subject matter, related entity data includes entities relatedto the identified person. A related entity is an entity with which theidentified person is related for some reason. While some of the reasonsmay be known, others may be unknown and implied according to statisticalsimilarities. For example, assume that the identified person is anemployee of Company A and is a member of Workgroup Z. Related entitiesto the identified person, based on this employment relationship, wouldtypically include “Company A” and “Workgroup Z.” Other related entitiesarising from this same employment relationship may include fellowco-workers. Still other entities, based on this same employmentrelationship, may also include other (previous) workgroups, past andpresent co-workers, and the like. In furtherance of the example above,the identified person may also be an alumnus of particular university.Hence, the university may be a related entity to the identified person,as well as the particular college in the university where the identifiedperson studied, the degree that was awarded, academic achievements ofthe identified person, fellow students, and the like. Still further,assuming that the identified person also has a passion for gardening,the identified person may be a member of a local master gardenerssociety and, as a result, the local master gardeners society may be arelated entity to the identified person as well as fellow members of thesociety.

According to aspects of the disclosed subject matter, the search engine110 obtains related entity data from one or more related entity sources.The search engine 110 may store host or store various informationregarding the identified person from a user profile store (e.g., theuser profile store 628 of FIG. 6) and, therefore, be one of the relatedentity sources. For example, the search engine 110 may store userprofile information corresponding to the computer user. This userprofile information may be based on explicitly identified information(from the identified person) as well as implicitly identifiedinformation (such as information derived from search queries, browsinghistory, and the like.) Social networking sites, such as socialnetworking site 116, represent additional related entity sources. Asindicated above, a social networking site enables a person, such as theidentified person of the search query, to establish relationships andsocial networks with other entities (that includes people,organizations, activities, causes, and the like.) Of course, there maybe a variety of related entity sources, each of which hostinginformation that may indicate a relationship between the identifiedperson and other entities, and the search engine 110 can be configuredto obtained related entity data from any number of these related entitysources.

It should be appreciated that the related entity information that ishosted by each of the related entity sources may comprise informationthat the identified person wishes to keep private. To resolve this,according to aspects of the disclosed subject the search engineidentifies the requesting computer user and, if identified, can useattempt to use the permissions afforded to the requesting computer userin obtaining the related entity information. In various embodiments, acomputer user is required to authenticate himself or herself in order toaccess information regarding the identified person. Other requirementsmay include, by way of illustration and not limitation, that therequesting computer user be logged into one or more services in order toaccess and/or view content that would otherwise be restricted.

As suggested in regard to the examples above, a related entity sourcemay associate one or more categories to an individual (such as theidentified person of a search query). Accordingly, the related entitydata obtained from the related entity sources may also include categorydata. Category data (both in regard to the set of potentialrelationships defined by the category as well as the actualrelationships of a person per a category) may be advantageously used inexpanding a received search query (as discussed in greater detailbelow.) In the example above, a related entity source may haveassociated various categories with the identified person including“Employee,” “Alumnus,” and “Gardener.” Moreover, each of the relatedentity sources may maintain category information that defines what ismeant to be associated with the category. This category informationoften includes a list of potential, though not necessarily required,relationships that may exists between a first entity belonging to aspecific category (such as the identified person) and other entities.The “Employee” category may define a set of potential relationships asincluding “employer,” “work group,” “current manager,” “direct reports,”“co-worker,” and the like. Correspondingly, each entity that iscategorized as an “Employee” could then have relationships with otherentities as defined by the set of potential relationships. Of course,while a category that defines a set of potential relationships, anentity of that category is not required to be related to other entitiesbased on each and every potential relationship. Further still, a givenentity, such as an entity corresponding to the identified person of asearch query, may be associated with a plurality of categories. Inaddition to defined categories, categories may also be inferred. Forexample, an employee may be interested in former work performedpreviously at a company such that an inferred category is “co-worker.”

At block 208, a search model is identified/determined to apply to theexpanded search query. This search model includes information forweighting various elements (terms and phrases) of the expanded searchquery to improve search results. Applying a search model to the expandedsearch query recognizes, at least in part, that not all query terms ofthe expanded search query are equal, i.e., some query terms are moreimportant in identifying relevant search content for the identifiedperson than others. Typically, though not exclusively,favoring/weighting employment-related query terms or education-relatedquery terms provides improved search results when the relevancy of thevarious search results (or, more accurately stated, the contentreferenced by the search results) are presented to a particular user.According to various embodiments, selection of a search model may bebased on information regarding the requesting computer user. Forexample, if it is known that the requesting computer user is in collegethen an education model may be selected. Alternatively, selection of asearch model may be made according to information regarding theidentified person, from information available to the search engine 110or external sources including from the related entity data. In yetadditional embodiments, selection of a search model may be madeaccording to information regarding both the requesting computer user aswell as the identified person of the search query.

At block 210, an expanded search query is generated according to thedetermined search model for the identified person. Generating anexpanded search query is discussed in greater detail in regard to FIG.3. More particularly, FIG. 3 is a flow diagram illustrating an exemplaryroutine 300 for generating an expanded search query according to relatedentity data obtained from related entity sources. At block 302, theidentified person and filter elements of the received search query areincluded as an initial section of the expanded search query. While thismay entail simply copying the received search query into the initialsection, the initial search query may not necessarily simply be copied.Often a requesting computer user may misspell the name of the personthat is sought or any one of the identifying filter elements associatedwith the person. For example, a received search query may be “Bruse WaynMicrosoft,” in an effort to find content corresponding to “Bruce Wayne”who works at “Microsoft.” If it can be determined that the name (or oneor more filter elements) is misspelled, it would be less productive toinclude the original search query in the expanded search query. Hence,in block 204 of routine 200, the person is identified. Correction to thefilter elements may also be made (though not explicitly called out inroutines 200 and 300.)

In addition to including the query terms of the search query into theexpanded search query, query terms are derived from the obtained relatedentity data and included/incorporated in the expanded search query. Inparticular, at block 304, the related entities (related to theidentified person) from the obtained related entity data are included ina related entities section of the expanded search query in accordancewith the determined search model. At block 306, query terms are derivedfrom the category data including both the category (as an entity) andcategory entities (as described below) are included in a categoryentities section of the expanded search query according to the searchmodel. Thereafter, at block 308, the expanded search query is returnedand the routine 300 terminates.

To better illustrate the above-described sections of the expanded searchquery, reference is made to FIG. 4. FIG. 4 illustrates an exemplaryexpanded search query 400 corresponding to the example above, i.e., forthe person “Bruce Wayne.” For this example, it is assumed that thisidentified person, “Bruce Wayne,” was associated with only one category,Employee. As shown in the expanded search query 400, the initial section402 includes the original search query text 404, “Bruce.Wayne,” as wellas alternative names related to the identified person, in this case“Batman Dark.Knight Matches.Malone Caped.Crusader.” Of course, not allcomputer users will have access rights to all information. In theexample able, not all people might know of the alternative names thatmight uniquely reference “Bruce Wayne.” However, when the requestingcomputer user has full rights, such information may be useful to obtainimproved results. Regarding the operator 406 “.” between the two namesof the search query, this is representative of an exemplary conventionto indicate that the two names, “Bruce” and “Wayne”, should be viewed aspreferring “Bruce” occurring next to “Wayne” in that order, though it isnot mandatory that the occur together or that both must occur—only thatit is highly preferred. Of course, this convention (as well as the otheroperators in this Figure) is illustrative only and should not be viewedas limiting upon the disclosed subject matter. Other syntacticalconventions include (by way of illustration and not limitation): theoperator 408 “inbody:” indicating to the search engine 110 that itshould match a document when any one of the words/terms between theparentheses is found in the body of the content; a “noalter:” operatorthat indicates that the spelling of the terms should not be modified;and a “norelax:” operator that indicates that the terms are importantand may not be dropped in matching content. The operator 410“+”indicates to a search engine a concatenation of other searchoperators and/or tokens.

The expanded search query 400 also includes a related entity section 412that includes the related entities to the identified person of thesearch query, such as text 416 “Research.” Still further included in theexpanded search query is a category entities section 414 that includesthe category entities of category “Employee.” As mentioned above, thecategory entities section 414 includes the category (“Employee”) as wellas the category entities such as text 418 “Workgroup.” These entriesoptionally help produce results based on how the computer user likelyknows the identified person, in this case “Bruce Wayne.” As can be seen,the expanded search query for a particular person takes a search query,such as “Bruce Wayne” and expands the query with related entities aswell as category entities to better identify content corresponding tothe identified person. Regarding the operator “rankonly:”, this operatoroperates to let the ranking of a document go up as a matchingtoken/value is found in the document, such as “Research.” It operatessuch that the specified terms are not required to be found in aresulting document but, if found, will result in the document beingranked as more relevant. The operator, “word:”, operates to match on adocument if one or more of the tokens in the parenthesis, such as“Workgroup”, is found in the document. In a sense, the operator “word:”operates as a type of max (or maximum value) operator, comparing eachtoken between the parenthesis to the document and returning the singlemaximum value of the rank of the tokens. Specifically, if more than onetoken match, only the value of the greatest match token is returned. A“norank:” token (not shown) would require that the specified tokens(identified between the enclosing parentheses) be required in a resultsdocument but doesn't affect the ordering or relevance of the document inthe overall results. In combination with the operator “rankonly:”, therank of a document in which the rank of the document is increased if anyone or more of the tokens is found.

While the expanded queries 400 and 500 generally include textual tokens(such as “Bruce.Wayne”), it should be appreciated that this isillustrative and should not be viewed as limiting upon the disclosedsubject matter. In alternative embodiments, one or more the tokens in anexpanded search query could be specific identifiers that identify thesought-for person and/or related entities. For example, expanded searchquery 500 includes an operator 510 that includes a Facebook numericalidentifier (“740049358”) as well as an operator 512 that includes aFacebook user identifier (“t-drake”). Of course, any particular sourcesof identifiers may be used and Facebook identifiers are illustrativeonly.

As suggested above, an identified person may be associated with morethan one category. Hence, while the expanded search query 400 of FIG. 4describes information from a single category, it is for illustration.Similarly, FIG. 5 illustrates an exemplary expanded search query 500corresponding to the example above, i.e., for the identified person“Bruce Wayne,” but in this example includes information from twocategories, Employer and Education. As can be seen, the expanded searchquery 500 includes the initial section 502 as well as related entitiessection 504 and category entities section 506. As can be seen in therelated entities section 504 and category entities section 506, as morerelated entities are found for the identified person and as moreinformation corresponding to various categories for the identifiedperson are obtained, the expanded search queries become more detailedand encompassing to assist the search engine to identify contentcorresponding to the identified person of the search query.

At block 212 search results are obtained according to the expandedsearch query. Obtaining search results according to a search query, inthis case a search query with expanded terms according to relatedentities and categories is known in the art. According to aspects of thedisclosed subject matter, search results are obtained according to thequery terms from the received search query and optionally according tothe query terms derived from the related entity data. Stateddifferently, the query terms of the expanded search query that arederived from the related entity data are intended to expand the scope ofcontent/search results that correspond to the identified person, butthese query terms that are derived from the related entity data are notmandatory terms. In this manner (i.e., that the query terms derived fromthe related entity data are “optional”), the expanded search queryexpands the scope of content that potentially relates to the identifiedperson rather than narrowing the scope of content if those query termswere not optional.

At block 214, a search results presentation is generated, at least inpart, according to the obtained search results. Typically, one or moresearch results pages are generated according to the obtained searchresults, with those results scoring the highest being presented in thefirst pages of the presentation. At block 216, after generating thesearch results presentation, at least a portion of the presentation isreturned to the requesting computer user in response to the searchquery. According to various embodiments, the results that are returnedto the requesting computer user are organized according to the variouscategories of information regarding the subject person. Thereafter, theroutine 200 terminates.

While not displayed in routine 200, additional steps may be taken afterthe results are returned to the computer user. By way of illustrationand not limitation, one or more processes on the computer user's devicemay monitor the computer user's activity with regard to the resultsprovided, e.g., which references (hyperlinks) the computer userfollowed, which were avoided, how long the computer user spent with somecontent vs. other content, and the like. By monitoring the computeruser's activity and submitting it to the search engine, inferences maybe made regarding specific people and/or entities such that subsequentqueries may take these inferences into account. Indeed, some or all ofthe inferences, both for and against specific results, may be used toform the search models discussed above.

Regarding routines 200 and 300, while these routines are expressed inregard to discrete steps, these steps should be viewed as being logicalin nature and may or may not correspond to any actual and/or discretesteps of a particular implementation. Nor should the order in whichthese steps are presented in the various routines be construed as theonly order in which the steps may be carried out. Moreover, while theseroutines include various novel features of the disclosed subject matter,other steps (not listed) may also be carried out in the execution of theroutines. Further, those skilled in the art will appreciate that logicalsteps of these routines may be combined together or be comprised ofmultiple steps. Steps of routines 200 and 300 may be carried out inparallel or in series, or pre-computed. Often, but not exclusively, thefunctionality of the various routines is embodied in software (e.g.,applications, system services, libraries, and the like) that is executedon computer hardware and/or systems as described below in regard to FIG.6. In various embodiments, all or some of the various routines may alsobe embodied in hardware modules, including system on chips, on acomputer system.

While many novel aspects of the disclosed subject matter are expressedin routines embodied in applications (also referred to as computerprograms), apps (small, generally single or narrow purposed,applications), and/or methods, these aspects may also be embodied ascomputer-executable instructions stored by computer-readable media, alsoreferred to as computer-readable storage media. As those skilled in theart will recognize, computer-readable media can host computer-executableinstructions for later retrieval and execution. When thecomputer-executable instructions stored on the computer-readable storagedevices are executed, they carry out various steps, methods and/orfunctionality, including those steps, methods, and routines describedabove in regard to routines 200 and 300. Examples of computer-readablemedia include, but are not limited to: optical storage media such asBlu-ray discs, digital video discs (DVDs), compact discs (CDs), opticaldisc cartridges, and the like; magnetic storage media including harddisk drives, floppy disks, magnetic tape, and the like; memory storagedevices such as random access memory (RAM), read-only memory (ROM),memory cards, thumb drives, and the like; cloud storage (i.e., an onlinestorage service); and the like. For purposes of this disclosure,however, computer-readable media expressly excludes carrier waves andpropagated signals.

Turning now to FIG. 6, FIG. 6 is a block diagram illustrating exemplarycomponents of a search engine configured to provide improved results inresponse to a search query from a computer user. As shown in FIG. 6, thesearch engine 110 includes a processor 602 (or processing unit) and amemory 604 interconnected by way of a system bus 610. As those skilledin the art will appreciated, memory 604 typically (but not always)comprises both volatile memory 606 and non-volatile memory 608. Volatilememory 606 retains or stores information so long as the memory issupplied with power. In contrast, non-volatile memory 608 is capable ofstoring (or persisting) information even when a power supply is notavailable. Generally speaking, RAM and CPU cache memory are examples ofvolatile memory whereas ROM and memory cards are examples ofnon-volatile memory.

The processor 602 executes instructions retrieved from the memory 604 incarrying out various functions, particularly in responding to searchqueries with improved results through query expansion. The processor 602may be comprised of any of various commercially available processorssuch as single-processor, multi-processor, single-core units, andmulti-core units. Moreover, those skilled in the art will appreciatethat the novel aspects of the disclosed subject matter may be practicedwith other computer system configurations, including but not limited to:mini-computers; mainframe computers, personal computers (e.g., desktopcomputers, laptop computers, tablet computers, etc.); handheld computingdevices such as smartphones, personal digital assistants, and the like;microprocessor-based or programmable consumer electronics; gameconsoles, and the like.

The system bus 610 provides an interface for the various components tointer-communicate. The system bus 610 can be of any of several types ofbus structures that can interconnect the various components (includingboth internal and external components). The search engine 110 furtherincludes a network communication component 612 for interconnecting thenetwork site with other computers (including, but not limited to, usercomputers such as user computers 102-106, other network sites includingnetwork sites 112-116) as well as other devices on a computer network108. The network communication component 612 may be configured tocommunicate with other devices and services on an external network, suchas network 108, via a wired connection, a wireless connection, or both.

The search engine 110 also includes query topic identification component614 that is configured to obtain identify the subject matter of thesearch query, such as a person identified in the search query, asdescribed above. Also included in the search engine 110 is a relatedentity retrieval component 616. The related entity retrieval component616 obtains related entity data corresponding to related entities of theidentified person (or, more generally, related entities of the subjectmatter of the search query). As previously mentioned, the related entitydata includes related entities, categories associated with theidentified person, as well as category data corresponding to theassociated categories. The related entity retrieval component 616obtains the related entity data from related entity sources as describedabove in regard to FIG. 2. An expanded query generator 618 generates anexpanded search query from the search query received from a computeruser according to the related entity data obtained by the related entityretrieval component 616.

A search results retrieval component is configured to obtain searchresults from a content store 626 according to the expanded search querygenerated by the expanded query component 618. A search model component624 is configured to select a search model (as described above) andapply the search model to the obtained search results. The searchresults presentation generator 620 generates a search resultspresentation, typically including one or more search results pages, forpresentation to the requesting computer user in response to the searchquery.

Those skilled in the art will appreciate that the various components ofthe search engine 110 of FIG. 6 described above may be implemented asexecutable software modules within the computer systems, as hardwaremodules (including SoCs—system on a chip), or a combination of the two.Moreover, each of the various components may be implemented as anindependent, cooperative process or device, operating in conjunctionwith one or more computer systems. It should be further appreciated, ofcourse, that the various components described above in regard to thesearch engine 110 should be viewed as logical components for carryingout the various described functions. As those skilled in the artappreciate, logical components (or subsystems) may or may not corresponddirectly, in a one-to-one manner, to actual, discrete components. In anactual embodiment, the various components of each computer system may becombined together or broke up across multiple actual components and/orimplemented as cooperative processes on a computer network 108.

In addition to operating on a search engine 110, aspects of thedisclosed subject matter may be implemented on other computing devicesand/or distributed on multiple computing devices, including a computeruser's device. For example, according to various embodiments at leastsome highly relevant content to a search request may be hosted on a sitethat is access-protected, i.e., the content is available to the computeruser when he/she is authenticated and/or maintains an open log-in statuswith the site, but the content is otherwise restricted to others. Inresponse to a search request from the computer user, a search engine (orother service) may indirectly obtain related entity data from thisaccess-restricted site by way of the computer user's device; thecomputer user's device (e.g., upon which the computer user maintains acurrent logged in status with the site) accesses related entity data onbehalf of the search service. Indeed, in various embodiments, one ormore components on the computer user's device obtain data correspondingto others from the access restricted sites in anticipation of a searchrequest.

While much of the disclosed subject matter has be made in regard to acomputer user taking an active role in obtaining content relating to aparticular person, aspects of the disclosed subject matter may besuitably and advantageously applied to auto-generation of contentrelating to people. For example, various search queries regarding one ormore persons (expanded search queries) may be made such that the“latest” content on the Internet regarding that person (or persons) mayalready be available when requested. Yet another example would be to setup an environment such that a user may be notified when a newimage/video/news story of that user occurs on the Internet. Of course,aspects of the disclosed subject matter may be applied to topics orentities other than people. For example, an auto-generation page may beset up to display the latest regarding rock climbing, the Supreme Court,and the like.

While various novel aspects of the disclosed subject matter have beendescribed, it should be appreciated that these aspects are exemplary andshould not be construed as limiting. Variations and alterations to thevarious aspects may be made without departing from the scope of thedisclosed subject matter.

What is claimed:
 1. A computer-implemented method for responding to asearch query, the method comprising: receiving a search query, thesearch query identifying a person for which content relating to theperson is sought; obtaining related entity data from a related entitysource, the related entity data comprising at least one of a relatedentity to or a category associated with the identified person of thesearch query; generating an expanded search query based on the receivedsearch query and the related entity data; obtaining search resultsaccording to the expanded search query; generating a search resultspresentation according to the obtained search results; and returning thesearch results presentation in response to the search query.
 2. Thecomputer-implemented method of claim 1: wherein generating an expandedsearch query comprises incorporating query terms derived from therelated entity data with query terms of the received search query; andwherein obtaining search results according to the expanded search querycomprises obtaining search results according to query terms of thereceived search query and optionally according to the query termsderived from the related entity data.
 3. The computer-implemented methodof claim 2 further comprising obtaining related entity data from aplurality of related entity sources.
 4. The computer-implemented methodof claim 2, wherein the category associated with the identified personis included in the expanded search query as a query term derived fromthe related entity data.
 5. The computer-implemented method of claim 4,wherein the related entity data comprises a plurality of categoriesassociated with the identified person.
 6. The computer-implementedmethod of claim 5, wherein the related entity data includes categorydata corresponding to each category in the related entity data, andwherein the category data includes one or more category entities thatare incorporated as query terms into the expanded search query.
 7. Thecomputer-implemented method of claim 2 further comprising selecting asearch model from a plurality of search models and applying the selectedsearch model to the generation of the expanded search query.
 8. Thecomputer-implemented method of claim 7, wherein selecting a search modelfrom a plurality of search models comprises selecting a search modelaccording to information corresponding to a requesting computer user. 9.The computer-implemented method of claim 7, wherein selecting a searchmodel from a plurality of search models comprises selecting a searchmodel according to information corresponding to the identified person.10. A computer-readable medium bearing computer-executable instructionswhich, when executed on a computing system comprising at least aprocessor executing the instructions retrieved from the medium, carryout a method for responding to a search query, the method comprising:receiving a search query, the search query identifying a person forwhich content relating to the person is sought; obtaining related entitydata from a related entity source, the related entity data comprising atleast one of a related entity to or a category associated with theidentified person of the search query; selecting a search model from aplurality of search models ; generating an expanded search query byincorporating query terms derived from the related entity data withquery terms of the received search query in accordance with the searchmodel; obtaining search results according to the expanded search query,comprising obtaining search results according to query terms of thereceived search query and optionally according to the query termsderived from the related entity data; generating a search resultspresentation according to the weighted set of search results; andreturning the search results presentation in response to the searchquery.
 11. The computer-readable medium of claim 10, wherein the methodfurther comprises obtaining related entity data from a plurality ofrelated entity sources.
 12. The computer-readable medium of claim 10,wherein the category associated with the identified person is includedin the expanded search query as a query term derived from the relatedentity data.
 13. The computer-readable medium of claim 12, wherein therelated entity data comprises a plurality of categories associated withthe identified person.
 14. The computer-readable medium of claim 13,wherein the related entity data further comprises category datacorresponding to each category in the related entity data, and whereinthe category data includes one or more category entities that areincorporated as query terms into the expanded search query.
 15. Thecomputer-readable medium of claim 10, wherein selecting a search modelfrom a plurality of search models comprises selecting a search modelaccording to information corresponding to a requesting computer user.16. The computer-readable medium of claim 10, wherein selecting a searchmodel from a plurality of search models comprises selecting a searchmodel according to information corresponding to both the identifiedperson and a requesting computer user.
 17. A computer system forresponding to a search query for content related to a person, the systemcomprising a processor and a memory, wherein the processor executesinstructions stored in the memory as part of or in conjunction withadditional components to respond to a search query for content relatedto a person, the additional components comprising: a query topicidentification component configured to determine the identity of aperson from the search query for which related content is sought; arelated entity retrieval component for obtaining related entity datacorresponding to the identified person from a related entity source; anexpanded query generator to generate an expanded query from the searchquery for content related to the identified person and from the relatedentity data, wherein the related entity data comprises at least one of arelated entity or a category associated with the identified person ofthe search query; a search results retrieval component configure toobtain search results from a content store, the search resultsreferencing content corresponding to the identified person, according tothe expanded search query; and a search results presentation generatorconfigured to generate a search results presentation according to thesearch results referencing content corresponding to the identifiedperson and return the search results presentation to the computer user.18. The computer system of claim 17, wherein the search resultsretrieval component obtains search results corresponding to theidentified person according to the expanded search query by obtainingsearch results according to query terms of the received search query andoptionally according to the query terms incorporated into the expandedsearch query from the related entity data.
 19. The computer system ofclaim 17 further comprising: a search model component configured toselect a search model from a plurality of search models; and supply thesearch model to the expanded query generator for generating an expandedquery from the search query from the related entity data according tothe search model; wherein the expanded query generator generates anexpanded query according to the search model; and wherein the searchresults presentation generator generates the search results presentationaccording to the search model.
 20. The computer system of claim 19,wherein the search model component is configured to select a searchmodel from a plurality of search models according to informationcorresponding to the computer user.